//  加载时请求数据
searchDoctorList($('#doctorManagementSearchBtn'));

// 添加医生按钮 点击   start
$('#addDoctorBtn').click(function(){
    $('#addDoctor input.emptyInput').val('');
    $('#addDoctorSaveBtn').attr('data-type','add');
    $('#doctorList').hide(300);
    $('#addDoctor').show(300);
});
// 添加医生按钮 点击   end

//医生列表中编辑按钮 点击 start
$('#doctorListBox').delegate('tbody td .editDoctorBtn','click',function(){
    var doctorId=$(this).parent().parent().attr('data-doctorId');
    var inputValArr={};
    var tdArr=$(this).parent().parent().find('td[data-name]');
    for(var i=0;i<tdArr.length;i++){
        inputValArr[$(tdArr[i]).attr('data-name')]=$(tdArr[i]).attr('data-value');
    }
    inputValArr.id=doctorId;
    var addInputArr=$('#addDoctor div.searchBox .form-control');
    for(var j=0;j<addInputArr.length;j++){
        $(addInputArr[j]).val(inputValArr[$(addInputArr[j]).attr('name')]);
    }
    //如果是系统管理员  把医院选择带过来并展示
    if($('#hospital').html()){
        $('#hospital').val($('#doctorList select[name="hospital_id"]').val());
    }
    $('#addDoctorSaveBtn').attr('data-type','edit');
    $('#password').attr('data-check','checkPassword');
    $('#doctorList').hide(300);
    $('#addDoctor').show(300);
    $('#role').change();
});
//医生列表中编辑按钮 点击 end

//添加医生 返回按钮  点击  start
$('#addDoctorBackBtn').click(function(){
    $('#addDoctor').hide(300);
    $('#doctorList').show(300);
});
//添加医生 返回按钮  点击  end

//角色更改  start
$('#role').change(function(){
    if($(this).val() === 'nurse'){
        $('#title').attr('disabled','disabled');
        $('#title option:last-child').show(10);
        $('#title').val('');
    }else{
        $('#title').removeAttr('disabled');
        $('#title option:last-child').hide(10);
        $('#title').val('1');
    }
});
$('#role').change();
//角色更改  end

//添加医生  保存按钮  点击  start
$('#addDoctorSaveBtn').click(function(){
    var addInputArr=$('#addDoctor div.searchBox .form-control');
    var result={};
    var isSave=true;
    if($('#addDoctorSaveBtn').attr('data-type') === 'edit'){
        if(!$('#password').val()){
            $('#password').removeAttr('data-check');
        }else{
            $('#password').attr('data-check','checkPassword');
        }
    }else{
        $('#password').attr('data-check','checkPassword');
    }
    result['hospital_id']=$('#addDoctor div.searchBox [name="hospital_id"]').val();
    for(var j=0;j<addInputArr.length;j++){
        var checkFun=$(addInputArr[j]).attr('data-check');
        var value=$(addInputArr[j]).val();
        if(checkFun){
            if(value){
                if(eval(checkFun+"(value)")){
                    result[$(addInputArr[j]).attr('name')]=value;
                }else{
                    var text='';
                    if(checkFun === 'checkName'){
                        text='姓名长度不能超过16个字符！';
                    }else if(checkFun === 'checkPhone'){
                        text='请输入正确的手机号！';
                    }else if(checkFun === 'checkPassword'){
                        text='密码长度为6至16位数字或字母的组合！';
                    }
                    alertModel('',text);
                    isSave=false;
                    break;
                }
            }else{
                alertModel('','请将信息填写完整后保存！');
                isSave=false;
                break;
            }
        }else{
            result[$(addInputArr[j]).attr('name')]=value;
        }
    }
    if(result.role === 'doctor'){
        if(!result.job){
            alertModel('','请选择职称！');
            isSave=false;
        }
    }else{
        result.job='';
    }
    var url='';
    if(result.id){
        url=RESERVATIONCENTERURL.doctorManagement.admin.update;     //todo  update 的地址
        if(!result.password){
            delete result['password'];
        }
    }else{
        delete result['id'];
        url=RESERVATIONCENTERURL.doctorManagement.admin.store;     //todo  store 的地址
    }
    if(isSave){
        ajaxPost(url, result, function(data){
            if(data.code == 10000){
                $('#addDoctor div.searchBox input.form-control').val('');
                $.alert({
                    title:'温馨提示',
                    body: '保存成功！',
                    transition: true,
                    okHidden:function(){
                        $('#addDoctorBackBtn').click();
                        $('#doctorManagementSearchBtn').click();
                    }
                });
            }else if(data.code === 40100){
                aClick();
            }else {
                alertModel('','保存失败，'+data.message);
            }
        }, function(){ })
    }
});
//添加医生  保存按钮  点击  end

//设置出诊日期框 点击 打开 设置诊室弹出框  start
$('#setVisitRoom').delegate('span','click',function(){
    $('#editClinic').modal('show');
});
//设置出诊日期框 点击 打开 设置诊室弹出框  end

// 查询列表方法  start
function searchDoctorList(_this){
    var name=_this.parent().parent().find('input[name="name"]').val();
    var phone=_this.parent().parent().find('input[name="phone"]').val();
    var hospital_id=_this.parent().parent().find('select[name="hospital_id"]').val();
    var result={name:name,phone:phone,hospital_id:hospital_id,page:1};
    if(checkName(name)){
        if(checkPhone(phone)){
            getDoctorList(result);
        }else{
            alertModel('','请输入正确的手机号！');
            return false;
        }
    }else{
        alertModel('','姓名长度不能超过16个字符！');
        return false;
    }
}
// 查询列表方法  end


//查询按钮  点击  start
$('#doctorManagementSearchBtn').click(function(){
    searchDoctorList($(this));
});
//查询按钮  点击  end

//请求列表 并渲染页面   start
function getDoctorList(result){
    ajaxGet(RESERVATIONCENTERURL.doctorManagement.admin.index, result, function(data){
        if (data.code === 10000) {
            var str='';
            for(var i=0;i<data.data.length;i++){
                str+='<tr data-doctorId="'+data.data[i].id+'"><td><lable>' +
                    '<input type="checkbox" class="checkBox">'+(i+1)+'</lable></td>' +
                    '<td data-name="name" data-value="'+data.data[i].name+'">'+data.data[i].name+'</td>';
                if(data.data[i].job.value){
                    str+='<td data-name="job" data-value="'+data.data[i].job.key+'">'+data.data[i].job.value+'</td>';
                }else{
                    str+='<td data-name="job" data-value="'+data.data[i].job.key+'"></td>';
                }
                str+='<td data-name="role" data-value="'+data.data[i].role.key+'">'+data.data[i].role.value+'</td>' +
                    '<td data-name="phone" data-value="'+data.data[i].phone+'">'+data.data[i].phone+'</td><td>' +
                    '<button type="button" class="btn btn-primary btn-outline editDoctorBtn">编辑</button></td></tr>'
            }
            $('#doctorManagementListBody').html(str);
            // 页码
            if(data.meta.pagination.total_pages>1){
                page('managementPager',data.meta,getDoctorList,result);
            }else{
                $('#managementPager').html('');
            }
        }else if(data.code === 40100){
            aClick();
        }else if(data.code === '40001'){
            $('#doctorManagementListBody').html('<tr><td colspan="6">暂无数据</td></tr>');
            $('#managementPager').html('');
        }else{
            alertModel('','获取失败，'+data.message);
        }
    }, function(){ })
};
//请求列表 并渲染页面   end

//删除医生 点击按钮  start
$('#deleteDoctorBtn').click(function(){
    var doctorIdArr = getListId('doctorManagementListBody','data-doctorId');
    if (doctorIdArr.length) {
        confirmModel('','确定要删除吗？','','',function(){
            ajaxPost(RESERVATIONCENTERURL.doctorManagement.admin.destroy, {ids:doctorIdArr}, function(data){
                if(data.code == 10000){
                    $('#doctorManagementSearchBtn').click();
                    alertModel('','删除成功！');
                }else if(data.code === 40100){
                    aClick();
                }else {
                    alertModel('','删除失败，'+data.message);
                }
            }, function(){ })
        });
    }else{
        alertModel('','请先选择要删除的医生！');
    }
});
//删除医生 点击按钮  end

//操作栏  获取要修改的预约 ID  或者患者ID 等  start
function getListId(tableId,idName){
    var patientArr=[];
    var inputCheckBox=$('#'+tableId).find('td input.checkBox');
    for(var i=0;i<inputCheckBox.length;i++){
        if($(inputCheckBox[i]).is(':checked')){
            patientArr.push($(inputCheckBox[i]).parent().parent().parent().attr(idName));
        }
    }
    return patientArr;
};
//操作栏  获取要修改的预约 ID  或者患者ID 等  end
